import java.util.Scanner;

public class UseCompute {
    public void use(ICalculator calc,int one,int two){
        //接口回调：可以吧实现某一接口的类创建的对象引用赋给该接口声明的接口变量中，那么该接口变量就可以调用被类实现的接口中的方法
        //接口回调：接口作为方法形参，接口当做对象引用使用，接收该接口不同的实现类实例
        System.out.println(calc.calculate(one,two));
    }
}
class TestUseCompute{
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入第一个数：");
        int one=input.nextInt();
        System.out.println("请输入第二个数：");
        int two=input.nextInt();
        System.out.println("请输入运算符");
        String ch=input.next();
        UseCompute useCompute=new UseCompute();
     switch (ch){
         case "+":
             ICalculator iCalculator=new Plus();
             useCompute.use(iCalculator,one,two);
             break;
         case "-":
             ICalculator iCalculator1=new Subtract();
             useCompute.use(iCalculator1,one,two);
             break;
         case "*":
             ICalculator iCalculator2=new Ride();
             useCompute.use(iCalculator2,one,two);
             break;
         case "/":
             ICalculator iCalculator3=new Divide();
             useCompute.use(iCalculator3,one,two);
             break;
         default:
             System.out.println("输入不正确");
             break;
     }
    }
}
